package com.itheima.day08_list集合;

import java.util.ArrayList;
import java.util.Random;

public class Demo7 {
    /*
    【编号：1408】2016年里约热内卢奥运会足球比赛，共有16只球队参赛，
    分别是巴西、阿根廷、丹麦、德国、葡萄牙、瑞典、斐济、洪都拉斯、墨西哥、
    阿尔及利亚、尼日利亚、南非、伊拉克、日本、韩国、哥伦比亚。请使用所学集合知识，
    编写程序把这16支球队随机分成四组，输出结果如下：
        第1组：
        哥伦比亚 韩国 伊拉克 葡萄牙
        第2组：
        阿尔及利亚 南非 斐济 尼日利亚
        第3组：
        阿根廷 墨西哥 日本 洪都拉斯
        第4组：
        瑞典 丹麦 德国 巴西
     */
    public static void main(String[] args) {
        Random r = new Random();
        ArrayList<String> list = new ArrayList<>();
        //直接把所有国家定义成一个字符串
        String s = "巴西、阿根廷、丹麦、德国、葡萄牙、瑞典、斐济、洪都拉斯、墨西哥、阿尔及利亚、尼日利亚、南非、伊拉克、日本、韩国、哥伦比亚";
        //用字符串的split方法,以顿号分割
        String[] split = s.split("、");
        for (int i = 0; i < split.length; i++) {
            //将遍历字符串数组的每个结果存入到集合当中
            list.add(split[i]);
        }
        //总共分成四组所以设计一个外层循环总共循环四次,此次是控制循环的次数
        for (int j = 1; j <= 4; j++) {
            System.out.println("第"+j+"组:");
            //内层循环是控制集合中的元素个数,总共为4个
            for (int i = 0; i < 4; i++) {
                //设计一个新的集合用于接收数据
                ArrayList<String> arr = new ArrayList<>();
                //获取一个随机数,作为索引
                int index = r.nextInt(list.size());
                //用get方法获取这个随机数索引对应的list集合中的国家并将其存入到新的集合当中
                arr.add(list.get(index));
                //存储完之后将这个元素从list集合当中移除,这样就避免了元素的重复产生
                list.remove(index);
                //遍历新的数组
                for (int a = 0; a < arr.size(); a++) {
                    //输出打印
                    System.out.print(arr.get(a)+" ");
                }
            }
            //循环一次之后做一次换行
            System.out.println();
        }
    }
}
